package com.koron.car.web.applycar.bean.query;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.koron.bean.query.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * @author twcao
 * @title: CarApplyQuery
 * @projectName GDH_EAM_V2
 * @description: 车辆申请的查询条件
 * @date 2022/3/1010:22
 */
@Data
@Accessors(chain = true)
public class CarApplyQuery extends PageQuery {

    @ApiModelProperty("主键")
    private String id;

    @ApiModelProperty("申请编码")
    private String code;

    @ApiModelProperty("申请人id")
    private String applicantId;

    @ApiModelProperty("申请人名称")
    private String applicantName;

    @ApiModelProperty("申请人所属部门id")
    private String applicantDeptId;

    @ApiModelProperty("申请人所属部门名称")
    private String applicantDeptName;

    @ApiModelProperty("申请人联系方式")
    private String applicantPhone;

    @ApiModelProperty("是否自驾")
    private Integer selfDriver;

    @ApiModelProperty("申请车队id")
    private String applyMotorcadeId;

    @ApiModelProperty("申请车队名称")
    private String applyMotorcadeName;

    @ApiModelProperty("用车类型：字典（using_car_ype）")
    private String applyCarType;

    @ApiModelProperty("出发地")
    private String origin;

    @ApiModelProperty("出发地，经纬度，格式:[经度,纬度]")
    private String originLatlon;

    @ApiModelProperty("目的地")
    private String destination;

    @ApiModelProperty("目的地，经纬度，格式:[经度,纬度]")
    private String destinationLatlon;

    @ApiModelProperty("用车开始时间，格式：yyyy-MM-dd HH:mm")
    private Date startTime;

    @ApiModelProperty("用车结束时间，格式：yyyy-MM-dd HH:mm")
    private Date endTime;

    @ApiModelProperty("用车目的，用车事由")
    private String reason;

    @ApiModelProperty("状态，字典（car_apply_state）：草稿、待审核、待派车、已派车、待回车、已完成")
    private String state;

    @ApiModelProperty("多条件查询")
    private List<String> states;

    @ApiModelProperty(value = "创建人账号")
    private String createBy;

    @ApiModelProperty(value = "创建人姓名")
    private String createByName;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新人账号")
    private String updateBy;

    @ApiModelProperty(value = "更新人姓名")
    private String updateByName;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "主表需要部门字段，用于数据权限")
    private String deptId;

    @ApiModelProperty("车辆id，w_cm_car.id")
    private String carId;

    @ApiModelProperty("车牌号，w_cm_car.lic_plate_num")
    private String licPlateNum;

    @ApiModelProperty("司机id")
    private String driverId;

    @JsonIgnore
    @ApiModelProperty(value = "删除标志", hidden = true)
    private Boolean deleteFlag = false;

    @ApiModelProperty("ids")
    private String ids;

    @ApiModelProperty("keyword")
    private String keyword;

    @ApiModelProperty("使用标识-小程序用车申请")
    private Boolean applet;
}
